home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
BBS-Archive
/
Dev
/
GNU-SMALLTALK.lha
/
smtk_diff
< prev
next >
Wrap
Text File
|
1992-06-10
|
11KB
|
404 lines
*** mstcint.c Wed Jun 03 22:20:06 1992
--- smalltalk-1.2/mstcint.c Sun Mar 01 23:19:37 1992
***************
*** 302,308 ****
extern void window_create();
extern int system();
extern char *getenv();
! extern int read(), write(), open(), close(), ioctl(), lseek()/*, tell()*/;
defineCFunc("system", system);
defineCFunc("getenv", getenv);
--- 302,308 ----
extern void window_create();
extern int system();
extern char *getenv();
! extern int read(), write(), open(), close(), ioctl(), lseek(), tell();
defineCFunc("system", system);
defineCFunc("getenv", getenv);
***************
*** 315,321 ****
/* defineCFunc("ioctl", myioctl); */
defineCFunc("ioctl", ioctl);
defineCFunc("lseek", lseek);
! /* defineCFunc("tell", tell);*/
/* just to round out the set */
defineCFunc("readChar", readChar);
--- 315,321 ----
/* defineCFunc("ioctl", myioctl); */
defineCFunc("ioctl", ioctl);
defineCFunc("lseek", lseek);
! defineCFunc("tell", tell);
/* just to round out the set */
defineCFunc("readChar", readChar);
*** mstoop.c Wed Jun 10 17:57:41 1992
--- smalltalk-1.2/mstoop.c Sun Mar 01 23:19:39 1992
***************
*** 105,116 ****
/* you can increase this value if you need more space, and it won't hurt
* performance *if* your machine has enough physical memory (otherwise, you
* thrash the pager) */
- #ifdef AMIGA
- #define INIT_MEM_SPACE_SIZE /*(512 * K) */ (1500 * K)
- #else
#define INIT_MEM_SPACE_SIZE /*(512 * K) */ (2 * K * K)
#else
- #endif
#define INIT_MEM_SPACE_SIZE (1152 * K)
#endif
--- 105,112 ----
*** mstpaths.h-dist Wed Jun 03 22:01:12 1992
--- smalltalk-1.2/mstpaths.h-dist Sun Feb 16 19:31:40 1992
***************
*** 57,65 ****
#define __MSTPATHS__
/* This defines where the kernel smalltalk (.st) files can be found */
! #define KERNEL_PATH "work2:projects/smalltalk-1.2"
/* This defines where to search for the saved binary image */
! #define IMAGE_PATH "work2:projects/smalltalk-1.2"
#endif /* __MSTPATHS__ */
--- 57,65 ----
#define __MSTPATHS__
/* This defines where the kernel smalltalk (.st) files can be found */
! #define KERNEL_PATH "/usr/gnu/smalltalk"
/* This defines where to search for the saved binary image */
! #define IMAGE_PATH "/usr/gnu/smalltalk"
#endif /* __MSTPATHS__ */
*** ymakefile Sat Jun 06 16:37:47 1992
--- smalltalk-1.2/ymakefile Sun Mar 01 23:19:43 1992
***************
*** 1,21 ****
! ;#include "mstconfig.h"
! ;#include "mstpaths.h"
! ;#ifndef DEFAULT_LIBRARIES
#define DEFAULT_LIBRARIES -lm
! ;#endif
#ifndef EXTRA_CC_FLAGS
#define EXTRA_CC_FLAGS
#endif
#ifndef OTHER_FILES
#define OTHER_FILES
#endif
!
#ifndef OBJECTS_SYSTEM
#define OBJECTS_SYSTEM
#endif
--- 1,76 ----
! /*******************************************************************
! *
! * Copyright (C) 1990, 1991, 1992 Free Software Foundation, Inc.
! * Written by Steve Byrne.
! *
! * This file is part of GNU Smalltalk.
! *
! * GNU Smalltalk is free software; you can redistribute it and/or modify it
! * under the terms of the GNU General Public License as published by the Free
! * Software Foundation; either version 1, or (at your option) any later
! * version.
! *
! * GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
! * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
! * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
! * more details.
! *
! * You should have received a copy of the GNU General Public License along with
! * GNU Smalltalk; see the file COPYING. If not, write to the Free Software
! * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
! *
! ********************************************************************/
+ #include "mstconfig.h"
+ #include "mstpaths.h"
! #ifndef DEFAULT_LIBRARIES
#define DEFAULT_LIBRARIES -lm
! #endif
+ /* The configuration files can define extra flags for the C compiler
+ * using this definition
+ */
#ifndef EXTRA_CC_FLAGS
#define EXTRA_CC_FLAGS
#endif
+ #ifdef USE_READLINE
+ READLINEDIR = READLINEDIRDEF
+ READLINEDEF = -DUSE_READLINE -I$(READLINEDIR)
+ READLINELIB = -L$(READLINEDIR)./readline -lreadline -ltermcap
+ #endif
+
+ #ifdef USE_DLD
+ DLDDIR = DLDDIRDEF
+ DLDDEF = -DDLD -I$(DLDDIR)
+ DLDLIB = -L$(DLDDIR) -ldld
+ #if defined(SUNOS40)
+ /* BINDING = -Bstatic */
+ #endif
+ #endif
+
+
+ #ifndef SYSTEM_MALLOC
+ #ifdef HAVE_ALLOCA
+ mallocobj = malloc.o
+ #else
+ mallocobj = alloca.o malloc.o
+ #endif
+ #endif
+
+
+ /* just to be sure the sh is used */
+ SHELL=/bin/sh
+
+ /* Enable recompilation of certain other files depending on system type. */
+
#ifndef OTHER_FILES
#define OTHER_FILES
#endif
! /* Enable inclusion of object files in temacs depending on system type. */
#ifndef OBJECTS_SYSTEM
#define OBJECTS_SYSTEM
#endif
***************
*** 25,53 ****
#endif
! #define HAVE_ALLOCA
MAINTAINER = 'sbb@Eng.sun.com'
! CFLAGS_NORMAL = -g $(EXTRA_CC_FLAGS)
! CFLAGS_PROFILE = -g -pg -DUSE_MONCONTROL $(EXTRA_CC_FLAGS)
! CFLAGS_OPTIMIZE = -O2 -DOPTIMIZE $(EXTRA_CC_FLAGS)
!
! ;#undef PROFILE
! ;#undef NORMAL
! ;#define OPTIMIZE
! ;
! ;#ifdef PROFILE
! ;CFLAGS = $(CFLAGS_PROFILE) $(EXTRA_PACKAGES)
! ;#else
! ;#ifdef OPTIMIZE
! ;CFLAGS = $(CFLAGS_OPTIMIZE) $(EXTRA_PACKAGES)
! ;#else
! ;CFLAGS = $(CFLAGS_NORMAL) $(EXTRA_PACKAGES)
! ;#endif
! ;#endif
! CFLAGS = -mc68020 -m68881
OBJS = mstmain.o mstlib.o mst.tab.o mstlex.o mststr.o \
mstid.o msttree.o mstbyte.o mstinterp.o mstcomp.o \
mstsym.o mstdict.o mstoop.o mstsave.o mstcint.o \
--- 80,165 ----
#endif
! /* Some machines have alloca built-in.
! * They should define HAVE_ALLOCA, or may just let alloca.s
! * be used but generate no code.
! * Some have it written in assembler in alloca.s.
! * Some use the C version in alloca.c (these define C_ALLOCA in mstconfig.h).
! */
!
! #ifdef C_ALLOCA
! ALLOCA = alloca.o alloc.o
! alloca.o: alloca.c
! #else
! #ifdef NEED_ALLOCA
! ALLOCA = alloca.o
! alloca.o : alloca.s mstconfig.h
! /* $(CPP) is cc -E, which may get confused by filenames
! * that do not end in .c. So copy file to a safe name. */
! cp alloca.s allocatem.c
! /* remove any ^L, blank lines, and preprocessor comments,
! * since some assemblers barf on them */
! $(CPP) allocatem.c | \
! sed -e 's///' -e 's/^#.*//' | \
! sed -n -e '/^..*$$/p' > allocatem.s
! -rm -f alloca.o
! /* Xenix, in particular, needs to run assembler via cc. */
! $(CC) -c allocatem.s
! mv allocatem.o alloca.o
! rm allocatem.s allocatem.c
! #endif /* NEED_ALLOCA */
! #endif /* not C_ALLOCA */
!
!
!
! /* System-specific programs to be made.
! OTHER_FILES, OBJECTS_SYSTEM and OBJECTS_MACHINE
! select which of these should be compiled. */
!
!
+ /*************
+ *
+ * These variables you may wish to change
+ *
+ *************/
+
+ /* Mail path to GNU Smalltalk maintainer (Steve Byrne) */
MAINTAINER = 'sbb@Eng.sun.com'
! /* Compilation flags definitions */
! CFLAGS_NORMAL = -g EXTRA_CC_FLAGS
! CFLAGS_PROFILE = -g -pg -DUSE_MONCONTROL EXTRA_CC_FLAGS
! CFLAGS_OPTIMIZE = -O -DOPTIMIZE EXTRA_CC_FLAGS
!
! #ifdef SUNOS40
! /* +++ Sun hacks */
! CFLAGS_OPTIMIZE = -O3 -DOPTIMIZE EXTRA_CC_FLAGS
! CFLAGS_TEST = -O3 -DOPTIMIZE -pg EXTRA_CC_FLAGS
! #endif
!
! EXTRA_PACKAGES = $(READLINEDEF) $(DLDDEF)
!
! #ifdef PROFILE
! /* Actual compilation flags and compiler definition */
! CFLAGS = $(CFLAGS_PROFILE) $(EXTRA_PACKAGES)
! #else
! #ifdef OPTIMIZE
! /* Actual compilation flags and compiler definition */
! CFLAGS = $(CFLAGS_OPTIMIZE) $(EXTRA_PACKAGES)
! #else
! /* Actual compilation flags and compiler definition */
! CFLAGS = $(CFLAGS_NORMAL) $(EXTRA_PACKAGES)
! #endif
! #endif
!
!
+ /********************************************************************
+ * The following definitions are not something that the casual user would
+ * want to change.
+ ********************************************************************/
+
OBJS = mstmain.o mstlib.o mst.tab.o mstlex.o mststr.o \
mstid.o msttree.o mstbyte.o mstinterp.o mstcomp.o \
mstsym.o mstdict.o mstoop.o mstsave.o mstcint.o \
***************
*** 59,71 ****
mstsysdep.c mstcallin.c
! LIBS = $(DEFAULT_LIBRARIES) $(USER_LIBS) $(READLINELIB) $(DLDLIB)
all: mst
mst: $(OBJS)
! $(CC) $(BINDING) -o mst $(CFLAGS) $(OBJS) $(LIBS) -lm
mst.tab.h mst.tab.c: mst.y
bison -dv mst.y
--- 171,183 ----
mstsysdep.c mstcallin.c
! LIBS = DEFAULT_LIBRARIES $(USER_LIBS) $(READLINELIB) $(DLDLIB)
all: mst
mst: $(OBJS)
! $(CC) $(BINDING) -o mst $(CFLAGS) $(OBJS) $(LIBS)
mst.tab.h mst.tab.c: mst.y
bison -dv mst.y
***************
*** 74,81 ****
--- 186,201 ----
mstlex.o: mst.tab.h
+ /* These depend on the oop table size */
mstsave.o mstoop.o mstlib.o mstsym.o: mstoop.h
+ #if defined(SUNOS40) && defined(OPTIMIZE)
+ mstinterp.o: mstinterp.c
+ $(CC) -O2 -DOPTIMIZE $(EXTRA_PACKAGES) -c mstinterp.c
+ #endif
+
+ /* !!! Clean these up in the future */
+
mstlib.o: mst.h
mstlib.o: mstconfig.h
mstlib.o: mst.tab.h
***************
*** 197,202 ****
--- 317,341 ----
mstcallin.o: mstoop.h
+
+ /*
+ * Install the files into the proper place
+ */
+
+ install:
+ if test ! -d KERNEL_PATH ; then \
+ mkdir -p KERNEL_PATH ; \
+ fi
+ cp *.st KERNEL_PATH
+ (cd KERNEL_PATH; chmod +r *.st)
+ if test ! -d IMAGE_PATH ; then \
+ mkdir -p IMAGE_PATH ; \
+ fi
+ (x=`pwd`; cd IMAGE_PATH; $$x/mst -Vi)
+
+ /***
+ *** Experimental Linting of the code
+ ***/
lint: $(SRCS)
lint $(SRCS)
***************
*** 207,212 ****
--- 346,363 ----
profile:
make CFLAGS='$(CFLAGS) -pg -Dprofiling'
+ senddiffs: diffs
+ kermit -e 1000 -s mst.diffs
+
+ mail-diffs:
+ @echo "Please enter a brief note describing the contents of"
+ @echo "the diffs file that you've created. End with Ctrl-D."
+ @cat > mst.diffs.note
+ @echo "-----------------------------------" >> mst.diffs.note
+ @### If there''s a more portable/better way to do this, please
+ @### don''t hesitate to fix this and send the new version back -- SBB
+ @cat mst.diffs.note mst.diffs | mail $(MAINTAINER)
+
diffs:
mk_mst_diffs
***************
*** 218,224 ****
rm -rf ./orig
mkdir ./orig
tar cbf 20 - `cat mstfiles` | (cd ./orig; tar xbBf 20 -)
-
--- 369,374 ----